package com.fanrui.code.chess;

import java.util.Collection;

import com.fanrui.code.player.ChessPlayerInfo;
import com.google.protobuf.MessageLite;

/**
 * 棋牌玩家
 * @author Administrator
 *
 */
public interface IChessGamer<CARD extends IChessCard> {
	
	/**
	 * 获取玩家ID
	 * @return
	 */
	long getPlayerID();
	
	int getGamerID();

	void destory();
	
	/**
	 * 添加牌
	 * 
	 * @param cards
	 *            void
	 */
	void addCard(Collection<CARD> cards);
	
	void addCard(CARD card);
	
	/**
	 * 通知开始游戏
	 */
	void notifyStart();

	void trick();
	
	void send(MessageLite messageLite);
	
	int getTableID();
	
	boolean isReady();
	
	void setIsReady(boolean isReady);

	ITable getTable();

	void setAFK(boolean isAFK);

	ChessPlayerInfo getPlayerInfo();
}
